2024 - March/April
Three articles in this issue of CODE discuss Large Language Models. Philipp Bauer discusses open-source LLMs and how a company might choose one to run internally to address issues of safety of customer data, compliance and intellectual property. Wei-Meng writes about Flowise, a low-code/no code drag-and-drop tool used to visually prototype and build LLM apps without writing code. Mike continues his tutorial from the last issue of CODE to demontrate using Semantic Kernal. Other great articles in this issue cover passkey authentication, the Aspire framework, distributed caching and how to use C# for building high-performance systems.
-
Remote Collaboration
Rod writes about the COVID crisis and how the remote collaboration it forced on everyone impacted music and television production. He notes how it impacted Melanie's efforts to continue her music rehearsals which had to go online, and that they needed to find ways to adapt to overcome lag. Ultimately, people overcome obstacles and adapt.
-
CODE: 25 Years Ago
CODE Group founder Markus Egger takes readers on a journey back to the late 1990s, examining the state of the technology landscape and software development during that time period. He discusses the rise of the internet and the browser wars between Netscape and Microsoft, the emergence of Napster and its impact on the music industry, popular films and video games of the era, the dotcom bubble, and the dominant programming languages and development tools of the time, such as Visual Basic, C++, and Java. Development tools Microsoft created and packaged together at the time would evantually evolve into Visual Studio.
-
Passkey Authentication
Sahil discusses the adoption of FIDO2 and WebAuthn standards to eliminate passwords and how to implement passkey authentication in your web application, demonstrating the client-side and server-side aspects of the process through an end-to-end application.
-
You’re Missing Out on Open-Source LLMs!
Philipp Bauer discusses the importance of open-source language models (LLMs) and why its good that there are alternatives to what only very large companies might develop. He explains how open-source LLMs can address a company's concerns about the safety of customer data, compliance and intellectual property. Philipp then covers considerations for choosing open-source LLMs, hardware requirements, and available tools for running LLMs locally.
-
Prototyping LangChain Applications Visually Using Flowise
Wei-Meng Lee introduces Flowise as a low-code/no code drag-and-drop tool that simplifies the creation of LangChain applications. LangChain is a framework for building applications using Large Language Models (LLMs) and Flowise allows users to visually prototype and build LLM apps without writing code. The article provides an overview of Flowise's key features and guides readers through building several example applications, including a language translator, a conversational chatbot, and a tool for analyzing CSV data files.
-
Semantic Kernel 101: Part 2
Mike continues his tutorial on working with Semantic Kernel (SK), Microsoft's framework for working with Large Language Models (LLMs), including code examples since SK V1 has just released. Mike demonstrates how to create a deployment of a GPT-4 Large Language Model in the Azure portal. Learn to create a prompt in code and execute it against the model. Learn to execute your own C# code in the same way you executed the prompts, and how to chain multiple functions together in a pipeline.
-
Aspirational .NET: What Is .NET Aspire?
Shawn describes the Aspire framework as something the ASP.NET Core team created to simplify the set-up of multiple smaller projects (microservices or not) with related components that you might be using (e.g., data stores, containers, queues, message buses, etc.). Shawn explores the concept of cloud native and explains how .NET Aspire simplifies the setup of distributed applications by providing tooling and a dashboard for monitoring and orchestration. Aspire is impressive so far.
-
Distributed Caching: Enhancing Scalability and Performance in ASP.NET 8 Core
Joydip covers the pros and cons of distributed caching and describes in-memory caching, distributed caching, and client-side caching. The article also covers various caching strategies, challenges, and best practices, and Joydip teaches you how to implement caching in ASP.NET Core using frameworks like NCache and MemCached.
-
C# for High-Performance Systems
Oren Eini, creator of RavenDB, discusses and demonstrates how to use C# for building high-performance systems. Oren proves through examples that a high-level language like C# is suitable for low-level system programming. His examples compare the performance and memory consumption of different methods, including LINQ, a StreamReader + Dictionary approach, and the use of System.IO.Pipelines.